home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / h / table.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  1.2 KB  |  56 lines

  1. /* table.h: table structures */
  2.  
  3. /*
  4.  * @(#) $Header: /xtel/pp/pp-beta/h/RCS/table.h,v 6.0 1991/12/18 20:42:44 jpo Rel $
  5.  *
  6.  * $Log: table.h,v $
  7.  * Revision 6.0  1991/12/18  20:42:44  jpo
  8.  * Release 6.0
  9.  *
  10.  *
  11.  */
  12.  
  13.  
  14.  
  15. #ifndef _H_TABLE
  16. #define _H_TABLE
  17.  
  18.  
  19. /*
  20. Information kept for all tables
  21. */
  22.  
  23. typedef struct TableOverride {
  24.     char *tbo_key;
  25.     char *tbo_value;
  26.     struct TableOverride *tbo_next;
  27. } TableOverride;
  28.  
  29. typedef struct    tb_struct {
  30.     char    *tb_name;    /* internal name of table        */
  31.     char    *tb_show;    /* displayable human-oriented string    */
  32.     char    *tb_file;    /* name of file containing table    */
  33.     FILE    *tb_fp;        /* stdio file pointer            */
  34.     int    tb_flags;    /* various bits (type of table, etc)    */
  35.     TableOverride *tb_override;
  36.                 /* overridden tables            */
  37. } Table;
  38.  
  39.  
  40. #define NULLTBL           ((Table *)0)
  41.  
  42. #define TB_SRCMASK    07
  43. #define TB_SRC(x)    ((x) & TB_SRCMASK)    /* Source of table data */
  44. #define TB_DBM        01            /* Read from DBM database */
  45. #define TB_NS        02            /* Read from Nameserver */
  46. #define TB_LINEAR    04            /* Read from linear file */
  47.  
  48.  
  49. extern    Table    *tb_nm2struct();
  50. extern    Table    **tb_all;
  51. extern    int    tb_getdomain ();
  52. extern    int    tb_k2val ();
  53. extern    int    tb_dbmk2val ();
  54. extern    int    tab_fetch ();
  55. #endif
  56.